package com.sinaapp.gavinzhang.GSpider.core;

import com.sinaapp.gavinzhang.GSpider.webaddress.WebAddress;
import org.jsoup.nodes.Document;
import org.jsoup.select.Elements;

import java.io.Serializable;
import java.util.List;

/**
 * @author gavin
 * @version 1.0
 * @date 2015/9/8
 * @description 页面处理类接口，一般使用com.sinaapp.gavinzhang.GSpider.DefaultPageProcessor
 */
public interface PageProcessor extends Serializable {
    long serialVersionUID = 4057329331699640331L;

    /**
     * 处理获取到的网页，同时传入webUrl以备使用
     * @param html
     * @return
     */
    Elements preDispose(Document html);

    /**
     * 用户处理页面
     * @param html
     * @param webUrl
     */
    void dispose(Document html, WebAddress webUrl);

    /**
     * 得到用户额外添加的网址列表
     * @return
     */
    List<WebAddress> getUrlList();
}
